package Model;

import Model.ObjectViews.CerealView;

public abstract class Cereal 
{
	//Atributos
	private String nombre;
	private Periodo periodoSiembra;
	private float rindeTn;
	private Mineral mineralPrinc;
	private boolean activo;

	//Getters
	public String getNombre() 
	{
		return nombre;
	}
	public Periodo getPeriodoSiembra() 
	{
		return periodoSiembra;
	}
	public float getRindeTn() 
	{
		return rindeTn;
	}
	public Mineral getMineralPrinc() 
	{
		return mineralPrinc;
	}
	public boolean isActivo() 
	{
		return activo;
	}
	
	//Setters
	public void setNombre(String nombre) 
	{
		this.nombre = nombre;
	}
	public void setPeriodoSiembra(Periodo periodoSiembra) 
	{
		this.periodoSiembra = periodoSiembra;
	}
	public void setRindeTn(float rindeTn) 
	{
		this.rindeTn = rindeTn;
	}
	public void setMineralPrinc(Mineral mineralPrinc) 
	{
		this.mineralPrinc = mineralPrinc;
	}
	public void setActivo(boolean activo) 
	{
		this.activo = activo;
	}
	
	//Constructor
	public Cereal(String nombre, Periodo periodoSiembra, float rinde, Mineral mineralPrincipal)
	{
		this.nombre = nombre;
		this.periodoSiembra = periodoSiembra;
		this.rindeTn = rinde;
		this.mineralPrinc = mineralPrincipal;
		this.activo = true;
	}
	
	//Metodos de negocio
	public boolean isEquals(String nombreCereal)
	{
		return (this.nombre.equals(nombreCereal));
	}
	
	//View getter
	public CerealView getView()
	{
		CerealView view = new CerealView();
		view.setNombre(this.getNombre());
		view.setPeriodoSiembra(this.getPeriodoSiembra().getView());
		view.setRindeTn(this.getRindeTn());
		view.setMineralPrinc(this.getMineralPrinc().getView());
		
		return view;
	}
}
